<?php
/**
 * 애드페이 (AD-Pay for Gnuboard4)
 *
 * Copyright (c) 2010 Choi Jae-Young <www.miwit.com>
 *
 * 저작권 안내
 * - 저작권자는 이 프로그램을 사용하므로서 발생하는 모든 문제에 대하여 책임을 지지 않습니다. 
 * - 이 프로그램을 어떠한 형태로든 재배포 및 공개하는 것을 허락하지 않습니다.
 * - 이 저작권 표시사항을 저작권자를 제외한 그 누구도 수정할 수 없습니다.
 */

include_once("_common.php");
include_once("_config.php");

$path = $pb[banner_path];
$file_path = '';

if ($is_admin != "super")
    alert_close("접근 권한이 없습니다.");

if ($w == 'u' || $w == 'd') {
    $sql = "select * from $pb[order_table] where or_id = '$or_id'";
    $row = sql_fetch($sql);
    if (!$row)
        alert("자료가 없습니다.");

    $file_path = "$path/$row[or_file]";
}

if (!$mb_id)
    $mb_id = $row[mb_id];

if ($w == '') {
    $cash = sql_fetch("select * from $mw_cash[cash_table] where mb_id = '$mb_id'");
    if ($cash[mb_cash] < $or_cash)
	alert("$mb_id 회원님이 보유하고 계신 $mw_cash[cf_cash_name] 부족합니다.");
}

if ($w == 'u') {
    $cash = sql_fetch("select * from $mw_cash[cash_table] where mb_id = '$mb_id'");
    if ($cash[mb_cash] + $row[or_cash] < $or_cash)
	alert("$mb_id 회원님이 보유하고 계신 $mw_cash[cf_cash_name] 부족합니다.");
}

@mkdir($path, 0707);
@chmod($path, 0707);

$indexfile = $path."/index.php";
$f = @fopen($indexfile, "w");
@fwrite($f, "");
@fclose($f);
@chmod($indexfile, 0606);

$file_source = "";
$file_name = "";
$size = array();

$file = $_FILES[or_file];
$size = @getImageSize($file[tmp_name]);
$mime = array('image/png', 'image/jpeg', 'image/gif', 'application/x-shockwave-flash');

if (is_uploaded_file($file[tmp_name]))
{
    if (!in_array($size['mime'], $mime))
        alert("PNG, GIF, JPG, SWF 형식의 이미지 파일만 업로드 가능합니다.");

    if (!preg_match("/\.(jpg|png|gif|swf)$/i", $file[name]))
        alert("PNG, GIF, JPG, SWF 형식의 이미지 파일만 업로드 가능합니다.");

    if (!is_dir($path))
        alert("$path 디렉토리가 존재하지 않습니다.");

    if (!is_writable($path))
        alert("$path 디렉토리의 퍼미션을 707로 변경해주세요.");

    $file_name = abs(ip2long($_SERVER[REMOTE_ADDR])).'_'.substr(md5(uniqid($g4[server_time])),0,8).
                    '_'.str_replace('%', '', urlencode($file[name]));

    $dest_file = $path . '/' . $file_name;
    $count = 0;

    move_uploaded_file($file[tmp_name], $dest_file);
    chmod($dest_file, 0606);

    if ($file_path)
        @unlink($file_path);
}

if (!$file_name)
    $file_name = $row[or_file];

$sql_common = "";
$sql_common.= "  or_app = '$or_app' ";
$sql_common.= ", or_site = '$or_site' ";
$sql_common.= ", or_info = '$or_info' ";
$sql_common.= ", or_url = '$or_url' ";
$sql_common.= ", or_type = '$or_type' ";
$sql_common.= ", or_file = '$file_name' ";
$sql_common.= ", or_code = '$or_code' ";
$sql_common.= ", or_sdate = '$or_sdate' ";
$sql_common.= ", or_edate = '$or_edate' ";
$sql_common.= ", or_cash = '$or_cash' ";
$sql_common.= ", or_point = '$or_point' ";
$sql_common.= ", or_member_point = '$or_member_point' ";
$sql_common.= ", or_target = '$or_target' ";

if (!$pr_id)
    $pr_id = $row[pr_id];

$product = sql_fetch("select * from $pb[product_table] where pr_id = '$pr_id'");

if ($w == "u" || $w == 'd') {
    if ($row[or_cash] != $or_cash || $w == 'd') {
        // 2012-04-06
        // 이전 캐쉬차감 관계 테이블이 product 로 되어 있어 이를 order 로 변환하면서
        // 발생하는 오류를 해결하기 위한 코드
        $sql = "select * from $mw_cash[cash_list_table] where ";
        $sql.= "mb_id = '$mb_id' and rel_table = 'pay_banner' and rel_id = '$pr_id' and cl_datetime like '".substr($row[or_datetime], 0, 16)."%'";
        $ro2 = sql_fetch($sql);
        if ($ro2) {
            sql_query("delete from $mw_cash[cash_list_table] where cl_id = '$ro2[cl_id]'");
            mw_cash_resum($mb_id);
        } else {
            $cl_id = mw_get_cl_id($mb_id, $pb[order_table], $or_id);
            mw_cash_delete($cl_id); // 이전캐쉬 삭제
        }

    }
    if ($row[or_point] != $or_point || $w == 'd') {
        delete_point($mb_id, $pb[order_table], $or_id, 'adpay');
    }
}

if ($w == "d")
{
    $sql = "delete from $pb[order_table] where or_id = '$or_id'";
    $qry = sql_query($sql);

    if ($file_path);
        @unlink($file_path);

    $msg = "삭제";
    $url = "adm-order.php?pr_code=$pr_code&status=$status{$qstr}";
}
else if ($w == "u")
{
    $sql = " update $pb[order_table] set $sql_common where or_id = '$or_id'";
    $qry = sql_query($sql);

    $msg = "수정";  
    $url = "adm-order-form.php?or_id=$or_id&w=u&status=$status&pr_code=$pr_code{$qstr}";
}
else
{
    $sql_common.= ", pr_id = '$pr_id' ";
    $sql_common.= ", mb_id = '$mb_id' ";
    $sql_common.= ", or_datetime = '$g4[time_ymdhis]' ";

    $sql = "insert into $pb[order_table] set $sql_common";
    $qry = sql_query($sql);

    $or_id = mysql_insert_id();

    $msg = "등록";  
    $url = "adm-order-form.php?or_id=$or_id&w=u&status=$status&pr_code=$pr_code{$qstr}";
}

if ($w != 'd' && $or_cash > 0 && $row[or_cash] != $or_cash)
    mw_buy_contents2($mb_id, $or_cash, "$pb[cf_name] - $product[pr_name]", $pb[order_table], $or_id);

if ($w != 'd' && $or_point > 0 && $row[or_point] != $or_point)
    insert_point($mb_id, $or_point * -1, "$pb[cf_name] - $product[pr_name]", $pb[order_table], $or_id, 'adpay');

alert("주문을 $msg 하였습니다.", $url);
